package lab02.test24;

import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;

public class Test24 {
    public static void main(String[] args) {
        //编程实现：计算两个日期的天数之差。
        // 编写Java应用程序，来计算任意两个日期的天数之差。
        // 要求：两个日期用字符串形式输入（比如输入“20100101”表示2010年1月1日），需要将日期字符串的年、月、日分别转换为数字形式。

        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入第一个日期(yyyymmdd):");
        String day1 = scanner.nextLine();

        String year = day1.substring(0,4);
        String month = day1.substring(4,6);
        String day = day1.substring(6);
        Calendar calendar = Calendar.getInstance();


        calendar.set(Integer.parseInt(year), Integer.parseInt(month), Integer.parseInt(day));
        Date date1 = calendar.getTime();
        System.out.println("请输入第二个日期:");
        day1 = scanner.nextLine();
        year = day1.substring(0,4);
        month = day1.substring(4,6);
        day = day1.substring(6);
        calendar.set(Integer.parseInt(year), Integer.parseInt(month), Integer.parseInt(day));
        Date date2 = calendar.getTime();

        //格式转化：24小时60分钟60秒1000毫秒
        long differ = (date1.getTime() - date2.getTime()) / (24 * 60 * 60 * 1000);
        if (differ < 0) {
            differ = (date2.getTime() - date1.getTime()) / (24 * 60 * 60 * 1000);
        }
        System.out.println("两个日期之间相差" + differ + "天");
    }
}
